//
//  VisitorTableViewController.swift
//  weibo_swift01
//
//  Created by 孙郝聪 on 16/8/4.
//  Copyright © 2016年 shc. All rights reserved.
//

import UIKit

class VisitorTableViewController: UITableViewController {

    /// 用户登录标记
    private var userLogon = false
    /**
        提问
        1. 应用程序中有几个 visitorView? - 每个控制器各自有各自不同的 访客视图！
        2. 访客视图如果用懒加载会怎样？- 如果使用懒加载，访客视图始终都会被创建出来！
    */
    /// 访客视图
    var visitorView: VisitorView?
    
    override func loadView() {
        
        // 根据用户登录情况，决定显示的根视图
        userLogon ? super.loadView() : setupVisitorView()
    }
    
    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)
        
        print(visitorView)
    }
    
    /// 设置访客视图 - 让每一个`小`函数
    private func setupVisitorView() {
        // 替换根视图
        visitorView = VisitorView()


        //设置代理
        visitorView?.delegate = self
        view = visitorView

        // 添加监听方法


        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: .Plain, target: self, action: #selector(VisitorTableViewController.visitorViewDidRegister))
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: .Plain, target: self, action: #selector(VisitorTableViewController.visitorViewDidLogin))
    }
}



extension VisitorTableViewController: VisitorViewDelegate{
    func visitorViewDidRegister() {
        print("注册")
    }
    func visitorViewDidLogin() {
       let vc = OAuthViewController()
        let nav = UINavigationController(rootViewController: vc)

        presentViewController(nav, animated: true, completion: nil)
    }
}